package leetcode_200;

/**
 *@author 周杨
 *GasStation_134 加油站买油问题 每次保存前面的值
 *describe:AC 71%
 *2018年5月30日 下午1:01:32
 */
public class GasStation_134 {

	public static void main(String[] args) {
		GasStation_134 test=new GasStation_134();
		

	}
	
	public int canCompleteCircuit(int[] gas, int[] cost) {
		int res=-1;
		int left=0;//剩下多少油
		int pre=0;//
		for(int i=0;i<gas.length;++i) {
			int diff=gas[i]-cost[i];
			if(diff>=0&&res==-1) {
				res=i;
				left+=diff;
				continue;
			}
			if(left+diff<0) {//剩下的油不够了
				pre+=left+diff;
				res=-1;
				left=0;//准备重新选择
			}
			else {
				left+=diff;
			}
		}
		if(left+pre>=0)
			return res;
		return -1;
    }
}
